import { getUserInfo } from '../../api/auth';
import { getOrderCount } from '../../api/order';

Page({
  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {},         // 用户信息
    isLoggedIn: false,    // 是否已登录
    orderCount: {         // 各状态订单数量
      waitPay: 0,         // 待支付
      waitDelivery: 0,    // 待发货
      waitReceive: 0      // 待收货
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.checkLoginStatus();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    // 每次页面显示时更新订单数量
    if (this.data.isLoggedIn) {
      this.getOrderCountData();
    }
  },

  /**
   * 检查登录状态
   */
  checkLoginStatus: function () {
    // 从本地缓存获取token
    const token = wx.getStorageSync('token');
    
    if (token) {
      this.setData({ isLoggedIn: true });
      this.getUserData();
      this.getOrderCountData();
    } else {
      this.setData({ 
        isLoggedIn: false,
        userInfo: {}
      });
    }
  },

  /**
   * 获取用户数据
   */
  getUserData: function () {
    getUserInfo()
      .then(res => {
        if (res.code === 200) {
          this.setData({
            userInfo: res.data
          });
        }
      })
      .catch(err => {
        console.error('获取用户信息失败', err);
      });
  },

  /**
   * 获取订单数量统计
   */
  getOrderCountData: function () {
    // 模拟数据，实际项目中应该调用API获取
    // getOrderCount()
    //   .then(res => {
    //     if (res.code === 200) {
    //       this.setData({
    //         orderCount: res.data
    //       });
    //     }
    //   })
    //   .catch(err => {
    //     console.error('获取订单统计失败', err);
    //   });
    
    // 模拟数据
    this.setData({
      orderCount: {
        waitPay: 2,
        waitDelivery: 1,
        waitReceive: 3
      }
    });
  },

  /**
   * 处理登录
   */
  handleLogin: function () {
    wx.navigateTo({
      url: '/pages/login/index'
    });
  },

  /**
   * 跳转到订单列表
   */
  navigateToOrderList: function (e) {
    if (!this.data.isLoggedIn) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }
    
    const status = e.currentTarget.dataset.status;
    wx.navigateTo({
      url: `/pages/order/list?status=${status}`
    });
  },

  /**
   * 跳转到地址列表
   */
  navigateToAddressList: function () {
    if (!this.data.isLoggedIn) {
      wx.showToast({
        title: '请先登录',
        icon: 'none'
      });
      return;
    }
    
    wx.navigateTo({
      url: '/pages/address/list'
    });
  },

  /**
   * 跳转到客服
   */
  navigateToCustomerService: function () {
    // 调用微信客服
    wx.makePhoneCall({
      phoneNumber: '400-123-4567' // 客服电话
    });
  },

  /**
   * 跳转到意见反馈
   */
  navigateToFeedback: function () {
    wx.navigateTo({
      url: '/pages/feedback/index'
    });
  },

  /**
   * 跳转到设置
   */
  navigateToSettings: function () {
    wx.navigateTo({
      url: '/pages/settings/index'
    });
  }
}); 